1. Field of the Invention
The invention is related to signal/image processing. More specifically, the invention relates to architectures and methods for image scaling.
2. Description of Related Art
A digital image of a scene/environment has a particular size which is defined by the number of rows and columns of pixels (individual color/intensity points) that it contains. The image size or "resolution" is thus expressed as the number of columns multiplied by the number of rows. For instance, an image with a resolution of 768.times.576 has 768 columns and 576 rows of pixels for a total of 442,368 pixels.
Often, the original size of an image as captured by an imaging device such as a camera or as later represented is too large for a particular application. While a larger resolution image contains more image information (more pixels per area) and is likely of a more desirable visual quality than a lower resolution image, bandwidth, memory and other constraints may dictate that a lower resolution image be used. For certain devices, such as digital cameras, it may be desirable to reduce its overall cost by utilizing a smaller resolution image so that the required storage component in the device is also smaller. In the context of still image capture, it may be desirable to have smaller resolution images due to the limitations of not only of storage, but of the need to be able to download images that are stored on the camera quickly to another device such as a computer system for further processing or more permanent storage. Scaling may also be desirable due to the limitations of what resolutions will fit on a display screen rendered. In videoconferencing, it is often desirable to maintain a certain "frame" rate (the rate at which individual image frames are received and/or rendered for output). To maintain this frame rate, formats such as QCIF (Quarter Common Intermediate Format) have been defined which are typically smaller than most captured digital image sizes, particularly those captured from certain digital cameras. To accommodate the need for a particular image size a process known as image scaling is employed.
When an image is scaled "up," its size is increased and when it is scaled "down" its size is reduced. Hereinafter, when the application refers to "scaling" or "scaled image", down scaling or reduction in image size is the intended meaning and usage of those terms.
The scaling of an image should be distinguished from image cropping, where the resolution is reduced by cutting out a portion of the image. Scaling implies that while the size of the image is reduced, the visual information of the entire scene/environment in the original image is maintained in great majority. The scene from the original image remains complete but is represented in a lower resolution after scaling. FIG. 1 illustrates the difference between the scaling of an image and image cropping. The original image is of a house and has a resolution of M by N. The cropped image of the house is missing a portion of the house. The scaled image retains the entire house from the original image but is scaled in half with a resolution of M/2 rows and N/2 columns.
Image scaling has been achieved in the art in several ways. The most common scaling technique averages pixels in a particular image region using equal weighting and then "decimates" or throws away entire pixels in the region, thereby generating a pixel in the scaled image. The averaged pixel replaces an entire region of pixels, with the replaced region not necessarily the same size as the averaging region. An averaging method where each pixel in the sampling region is given equal weighting however is deficient in several regards. Primarily, the equal averaging of pixels has the effect of losing much of the original image information especially edge features. Equal weight averaging does little to identify image features, since it treats all parts of the image region identically and then decimates all pixels. There are currently no well-defined methods for recovering the image information lost due to averaging. When attempting to reconstruct back to their original size an image scaled by these techniques, the resulting reconstruction is often blurry and shows a marked loss in visual quality. The distortion in the image after reconstruction is due to the fact that pixels included in averaging and then thrown away cannot be recovered exactly. This is particularly true in images that have high entropy, i.e., pixels of widely varying intensity/color values. Thus, a scaling technique is desired that can allow adequate reconstruction of image after scaling such that image features are better preserved.
Furthermore, with regard to implementation, if scaling is to be implemented in hardware such as a CMOS (Complementary Metal-Oxide Semiconductor) imaging device, it is important to reduce the computational complexity of the scaling procedure, especially when many other functions must also be carried out by the device. When an imaging device is used to transmit image frames (a sequence of individual still images) for the purpose of videoconferencing, the transmission must be fast enough to maintain frame rate and be compatible with the bandwidth capability of the interface between the imaging device and the processing device (computer system) that is used to package and transmit image frames to the destination node. With devices that are dual-moded, which may provide both motion and still imaging, there is also desired methods and apparatus that can readily provide different levels of scaling interchangeably. In certain averaging techniques in the current state of the art, particularly the seven-tap (4:1 scaling) and three-tap (2:1 scaling) filtering techniques, it is difficult to design a dual-moded and efficient scaling apparatus.
In a device such as a digital camera, whether still or motion video, image scaling should be able to be performed in integrated circuits with a minimum of cost and area. In applications where speed of image capture and processing is desirable with a minimum loss of image features due to scaling, there is needed a scaling technique and apparatus that is capable of efficient data throughput.